1. Field of the Invention
The present invention relates to a printing apparatus, print control method, and a print system in which printing is performed by receiving data described in structured language.
2. Description of the Related Art
Currently, a wide range of content is described in structured language, a representative of which is HTML or the like, and used as data for display. In particular, HTML and XHTML are used on the World Wide Web, and BML (broadcast markup language) is used in BS data broadcasts and DTV (digital television).
The need to print such types of contents has increased along with their use, and in regard to standards, there is a call for printing XHTML-Print data as the standard for printing with UPnP and Bluetooth. Currently, printers provided with functionality for printing data of structured languages such as XHTML or XHTML-Print are beginning to appear on the market.
In this regard, printers provided with functionality for printing the data of such structured languages have various printing capabilities for structured languages, and there is in fact no printer provided with the capability to completely and correctly analyze and print according to all the functions of XHTML or XHTML-Print determined in the standards. Currently it is true that the printable range (description) is set according to the printer manufacturer and the model within the range of the specifications set for each printer. Also, when giving consideration to device limitations, covering all the functions established in the standards is difficult due to restrictions by hardware resources such as that of the CPU and memory, and economic problems, and it is unavoidable that restrictions would occur for some functions. Furthermore, in terms of languages, it would be difficult to provide fonts for all languages and functional restrictions would occur such as being unable to carry out printing of print data that required an unloaded font. Consequently there is no guarantee that sending print data described in structured language to a printer will be printed correctly according to the intentions of the sender or content creator of the data. In such a printer, when printing cannot be carried out correctly due to restrictions on functions or errors in data analysis or the like, a common process is to carry out printing (best effort printing) using the functions considered to be the best among the functions of that printer. As an alternative process other than such best effort printing, there is also an option of not carrying out the actual printing when printing cannot be performed as intended.
The following technique has been proposed as a technique for countering these circumstances.
JP 2005-050299A describes receiving vCard or vNote data, analyzing the contents of the data before further processing to determine the suitability for printing, and if printing is not possible, giving notification of the cause of the error using a control panel or the like provided on the printer. Furthermore, JP 2005-031859A describes diverting information of a print order to another predetermined printer to shift processing if the execution of a print job following order information described in XML is not possible due to breakdown of the printer or the like. JP 2005-031859A also discloses responding with print error information to a client application at this time.
In these circumstances, a sender of print data cannot know what kind of print result will be obtained until printing is actually carried out and the print result thereof is viewed. Consequently, there is a problem that printing is carried out without obtaining printing that is expected and paper and ink are wasted.
And in addition to cases involving restrictions to ordinary capabilities, there are also cases in which the print data has parts that reference external image data and this image data may not be able to be referenced due to broken links or the like, thus resulting in imperfect printing. In these cases also, the person carrying out the printing may not be able to obtain the expected printing. As a result, there is a problem that paper and ink are wasted.
Furthermore, in a case that printing has been carried out on the basis of the best effort of the printer, there are times when the sender (user) of the print data cannot easily recognize from the print result the parts that could not be printed. In this way, the user himself sometimes may not even notice that there is a deficiency in the print result.
To prevent such problems, it is possible not to carry out the printing at all when a determination has been made before commencing printing that the printing cannot be executed properly. However, in these cases, it may be that even though the parts that cannot be printed are insignificant to the user who desires printing of that print data and the printing result thereof is sufficiently satisfactory, the printing itself is not carried out at all. Thus there is a problem that although it is possible to achieve printing that is satisfactory to the user, the printing itself cannot be carried out due to a trivial inconsistency in functionality.
On the other hand, in a case where printing could not be carried out correctly, the creator (user) of the print data content cannot determine what was the cause of the printing being incomplete. Thus, to create data that will be printed properly, it is necessary to perform trial and error repetitively.
In the techniques described in JP 2005-050299A and JP 2005-031859A, there is nothing that addresses the conditions in which printing itself is carried out but the printing becomes incomplete. Furthermore, there is nothing by which printability can be determined according to conditions of the printer and the intent of the user. Consequently, in a case where printing cannot be carried out according to the printing instructions due to data described in structured language, it is desirable that the user can clearly determine the cause and a part printed differently from print instruction, in a case that printing is carried out on a best effort basis.